﻿//=======================================================
//==        XingNet SDK by Tim Cadenbach               ==
//==            DO NOT REMOVE THIS                     ==
//==            Appache License v.2                    ==
//==                                                   ==
//== File: UserProfile.cs                              ==
//== Purpose: Defining a User Profile                  ==
//== History:                                          ==
//== 03-FEB-2012 - TCA - Created                       ==
//=======================================================


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using XingNet.Web.Model.Utility;

namespace XingNet.Web.Model.v1_Users
{
  public class UserProfile
  {
    [JsonProperty(PropertyName = "id")]
    public string ID { get; set; }
    
    [JsonProperty(PropertyName = "first_name")]
    public string FirstName { get; set; }
   
    [JsonProperty(PropertyName = "last_name")]
    public string LastName { get; set; }
   
    [JsonProperty(PropertyName = "display_name")]
    public string DisplayName { get; set; }
    
    [JsonProperty(PropertyName = "page_name")]
    public string PageName { get; set; }
   
    [JsonProperty(PropertyName = "permalink")]
    public string PermaLink { get; set; }
   
    [JsonProperty(PropertyName = "birth_date")]
    public JsonDateTime BirthDate { get; set; }
    
    [JsonProperty(PropertyName = "active_email")]
    public string ActiveMail { get; set; }
    
    [JsonProperty(PropertyName = "time_zone")]
    public JsonTimeZone TimeZone { get; set; }
   
    [JsonProperty(PropertyName = "premium_services")]
    public string[] PremiumServices { get; set; }
    
    [JsonProperty(PropertyName = "badges")]
    public string[] Badges { get; set; }

    [JsonProperty(PropertyName = "languages")]
    public dynamic Languages { get; set; }

    [JsonProperty(PropertyName = "wants")]
    public string Wants { get; set; }

    [JsonProperty(PropertyName = "haves")]
    public string Haves { get; set; }

    [JsonProperty(PropertyName = "interests")]
    public string Interests { get; set; }

    [JsonProperty(PropertyName = "organisation_member")]
    public string OrganisationMember { get; set; }

    [JsonProperty(PropertyName = "private_address")]
    public UserProfile_Address Address_Private { get; set; }

    [JsonProperty(PropertyName = "business_address")]
    public UserProfile_Address Address_Business { get; set; }

    [JsonProperty(PropertyName = "web_profiles")]
    public dynamic WebProfiles { get; set; }

    [JsonProperty(PropertyName = "instant_messaging_accounts")]
    public dynamic IMAccounts { get; set; }

    [JsonProperty(PropertyName = "professional_experience")]
    public UserProfile_WorkExperience WorkExperience { get; set; }

    [JsonProperty(PropertyName = "educational_background")]
    public UserProfile_Education EducationalExperience { get; set; }

    [JsonProperty(PropertyName = "photo_urls")]
    public UserProfile_ImageSet ImageSet { get; set; }
    

  }
}

